using System;

namespace Atomic.Libraries.Mathematics.RandomNumbers
{
	public interface IRandomGenerator
	{
		double NextDouble();

		/// <summary>
		/// Generates a nonnegative random number.
		/// </summary>
		int Next();

		/// <summary>
		/// Generates a nonnegative random number less than the specified maximum (excluding).
		/// </summary>
		int Next(int maxValue);

		/// <summary>
		/// Generates a nonnegative random number between the specified minimum (including) and the specified maximum (excluding).
		/// </summary>
		int Next(int minValue, int maxValue);
	}
}
